<!DOCTYPE html>
<html>
<head>
<script src="../../resources/run-after-layout-and-paint.js"></script>
<script>
function test()
{
    if (window.testRunner) {
        testRunner.waitUntilDone();
        testRunner.dumpAsText();
    }
    runAfterLayoutAndPaint(finish);
}

function finish()
{
    var innerLayer = document.getElementById('innerLayer');
    innerLayer.style.left = '19px';
    innerLayer.style.top = '23px';
    if (window.testRunner)
        testRunner.notifyDone();
}
</script>
<style>
/* nodes that have layers and are containers for their children */
.a { outline: solid blue 1px }

/* nodes that have layers but are not containers for their children */
.b { outline: solid red 1px }

/* nodes that do not have layers */
.c { outline: solid green 1px }
</style>
</head>
<body onload="test()">
  Test where every node has a layer and the containing block structure matches the layer structure exactly.
  <br>
  The test passes if it completes without failing any assertions in Debug mode.
  <div>
    <div style="position:absolute" class="a">
      <div style="position:absolute; left:7px; top:3px" class="a">
        <div style="opacity: 0.8; left: 9px; width:50px; height:50px" class="b"></div>
        <div style="position:relative; left: 75px; width:50px; height:50px" class="a" id="innerLayer"></div>
      </div>
      <div style="opacity: 0.8; width: 25px; height: 37px" class="b"></div>
      <div style="position:absolute; left:7px; top:50px; width:40px; height:40px" class="a">
      </div>
    </div>
  </div>
</body>
</html
